From 3fc1cafec0d193e285612d5a03deacfe4dcdcf25 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Fri, 1 Sep 2017 14:09:44 +0200 Subject: [PATCH] centerbox: Unparent widgets in dispose --- gtk/gtkcenterbox.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gtk/gtkcenterbox.c b/gtk/gtkcenterbox.c index 710bf8c59b..88230b9dc7 100644 --- a/gtk/gtkcenterbox.c +++ b/gtk/gtkcenterbox.c @@ -661,6 +661,32 @@ gtk_center_box_get_property (GObject *object, } } +static void +gtk_center_box_dispose (GObject *object) +{ + GtkCenterBox *self = GTK_CENTER_BOX (object); + + if (self->start_widget) + { + gtk_widget_unparent (self->start_widget); + self->start_widget = NULL; + } + + if (self->center_widget) + { + gtk_widget_unparent (self->center_widget); + self->center_widget = NULL; + } + + if (self->end_widget) + { + gtk_widget_unparent (self->end_widget); + self->end_widget = NULL; + } + + G_OBJECT_CLASS (gtk_center_box_parent_class)->dispose (object); +} + static void gtk_center_box_class_init (GtkCenterBoxClass *klass) { @@ -669,6 +695,7 @@ gtk_center_box_class_init (GtkCenterBoxClass *klass) object_class->set_property = gtk_center_box_set_property; object_class->get_property = gtk_center_box_get_property; + object_class->dispose = gtk_center_box_dispose; widget_class->measure = gtk_center_box_measure; widget_class->size_allocate = gtk_center_box_size_allocate; -- 2.30.2